package org.mathcloud.math.core.generic.signature;

import java.util.List;

import org.mathcloud.math.core.common.signature.FunctionObjectSignature;
import org.mathcloud.math.core.common.signature.QuantityObjectSignature;
import org.webequa.core.generic.signature.GenericObjectSignature;

public class GenericFunctionObjectSignature extends GenericObjectSignature
		implements FunctionObjectSignature
{

	public GenericFunctionObjectSignature()
	{
		super();
		setObjectType("FunctionObject");
	}
	
	@Override
	public boolean isGlobal()
	{
		return isGlobal;
	}

	@Override
	public String getName()
	{
		return functionName;
	}

	@Override
	public List<QuantityObjectSignature> getInputParamsSignatures()
	{
		return inputParamsSignatures;
	}

	@Override
	public QuantityObjectSignature getResultSignature()
	{
		return resultSignature;
	}

	public void setGlobal(boolean isGlobal)
	{
		this.isGlobal = isGlobal;
	}

	public void setResultSignature(QuantityObjectSignature resultSignature)
	{
		this.resultSignature = resultSignature;
	}

	public void setInputParamsSignatures(List<QuantityObjectSignature> inputParamsSignatures)
	{
		this.inputParamsSignatures = inputParamsSignatures;
	}

	public void setName(String functionName)
	{
		this.functionName = functionName;
	}
	
	private String functionName;
	private boolean isGlobal;
	private QuantityObjectSignature resultSignature;
	private List<QuantityObjectSignature> inputParamsSignatures;	
}
